/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.sadhar.sipp.laporananggaranpendapatanuangkemahasiswaan;

import java.util.Map;
import org.sadhar.sia.framework.ClassApplicationModule;
import org.zkoss.zul.Listbox;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.Window;

/**
 * Digunakan untuk menangani komponen laporananggaranpendapatanuangkemahasiswaan.JenisTagihanPopup.zul
 * @author kris
 */
public class LaporanAnggaranPendapatanUangKemahasiswaanJenisTagihanPopupWnd extends ClassApplicationModule {

    private Textbox txtboxJenisTagihan;
    private Textbox txtboxIdJenisTagihan;
    private Listbox lstboxJenisTagihan;
    private LaporanAnggaranPendapatanUangKemahasiswaanDAO pendapatanUangKemahasiswaanDAO;

    public LaporanAnggaranPendapatanUangKemahasiswaanJenisTagihanPopupWnd() {
        pendapatanUangKemahasiswaanDAO = new LaporanAnggaranPendapatanUangKemahasiswaanDAOImpl();
    }

    public void onCreate() throws Exception {
        Window window = (Window) this.getRoot().getFellow("contentDiv").getFirstChild();
        txtboxIdJenisTagihan = (Textbox) window.getFellow("txtboxIdJenisTagihan");
        txtboxJenisTagihan = (Textbox) window.getFellow("txtboxJenisTagihan");
        lstboxJenisTagihan = (Listbox) getFellow("lstboxJenisTagihan");
        load();
    }

    /**
     * Digunakan untuk melakukan pengisiaan data kedalam komnponen lstboxJenisTagihan
     * @throws Exception
     */
    public void load() throws Exception {
        lstboxJenisTagihan.getItems().clear();
        Integer no = 1;
        for (Map map : pendapatanUangKemahasiswaanDAO.getAllJenisPendapatan()) {
            Listitem item = new Listitem();
            item.setValue(map);
            item.appendChild(new Listcell(String.valueOf(no++)));
            item.appendChild(new Listcell(map.get("nama_tagih").toString()));
            lstboxJenisTagihan.appendChild(item);
        }
    }

    /**
     * Digunakan untuk menangani event pada komponen lstboxJenisTagihan
     */
    public void lstboxJenisTagihanOnSelect() {
        Map kdTagih = (Map) lstboxJenisTagihan.getSelectedItem().getValue();
        txtboxIdJenisTagihan.setValue(kdTagih.get("Kd_tagih").toString());
        Map nama = (Map) lstboxJenisTagihan.getSelectedItem().getValue();
        txtboxJenisTagihan.setValue(nama.get("nama_tagih").toString());
        this.detach();
    }
}
